﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Business;
namespace QLHS
{
    public partial class UCDanhSachLop : UserControl
    {
        public UCDanhSachLop()
        {
            InitializeComponent();
        }
        HocSinh_BUL hs = new HocSinh_BUL();
        MonHoc_BUL m = new MonHoc_BUL();
        Lop_BUL l = new Lop_BUL();
        private void UCDanhSachLop_Load(object sender, EventArgs e)
        {
            clear();
            gridControl1.DataSource = hs.Getdata();
            lo_lop.Properties.DataSource = hs.Laylop();
            lo_lop.Properties.DisplayMember = "TENLOP";
            lo_lop.Properties.ValueMember = "TENLOP";
            //...........................
            lo_ten.Properties.DataSource = hs.LayHS();
            lo_ten.Properties.DisplayMember = "HOTENHS";
            lo_ten.Properties.ValueMember = "HOTENHS";
            //....................................
            lo_dc.Enabled = false;
            lo_email.Enabled = false;
            lo_gt.Enabled = false;
            lo_lop.Enabled = false;
            lo_ngs.Enabled = false;
            lo_ten.Enabled = false;
            KTDV(frm_Main.kt);
            //labelControl8.Text = frm_Main.kt;
            
        }
        string kt = "";
        private void btnthem_Click(object sender, EventArgs e)
        {
            kt = "Them";
            btnluu.Enabled = true;
            btnthem.Enabled = false;
            btnsua.Enabled = false;
            btnxoa.Enabled = false;
            lo_dc.Enabled = true;
            lo_email.Enabled = true;
            lo_gt.Enabled = true;
            lo_lop.Enabled = true;
            lo_ngs.Enabled = true;
            lo_ten.Enabled = true;
            gridControl1.Enabled = false;
            lo_dc.Properties.NullText = lo_email.Properties.NullText = lo_gt.Properties.NullText = lo_lop.Properties.NullText = lo_ngs.Properties.NullText = lo_ten.Properties.NullText = "";
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            kt = "Sua";
            btnluu.Enabled = true;
            btnthem.Enabled = false;
            btnsua.Enabled = false;
            btnxoa.Enabled = false;
            lo_dc.Enabled = false;
            lo_email.Enabled = false;
            lo_gt.Enabled = false;
            lo_lop.Enabled = true;
            lo_ngs.Enabled = false;
            lo_ten.Enabled = false;
            gridControl1.Enabled = false;
            lo_lop.Focus();
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            try
            {
                if (MessageBox.Show("Xóa thật àk???", "Thông Báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
                    if (hs.XoaHS(lo_ten.Text))
                    {
                        hs.XoaTBHK(lo_ten.Text,lo_lop.Text);
                        l.Updatess(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                        l.Updatess(ml, int.Parse(hs.Demlop(ml)));
                        l.CapnhatSSTKHK(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                        l.CapnhatSSTKHK(ml, int.Parse(hs.Demlop(ml)));
                        if(hs.Delete(lo_ten.Text))
                            MessageBox.Show("Xóa thành công!...", "Thông Báo");
                        else
                            MessageBox.Show("Xóa thất bại", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                        MessageBox.Show("Toạch", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi hệ thống!...", ex.ToString());
            }
            UCDanhSachLop_Load(sender, e);
        }

        private void btnluu_Click(object sender, EventArgs e)
        {
            try
            {
                if (lo_lop.Text == "" || lo_ten.Text == "" || lo_gt.Text == "" || lo_dc.Text == "")
                {
                    MessageBox.Show("Vui lòng chọn đầy đủ thông tin của học sinh", "Thông Báo");
                }
                else if (kt == "Them")
                {
                    if (int.Parse(hs.Demlop(lo_lop.Text)) > int.Parse(hs.Laysiso()))
                    {
                        MessageBox.Show("Sĩ số lớp này đã vượt quá mức quy định...","Thông Báo");
                    }
                    else if (hs.ThemHS(lo_lop.Text,lo_ten.Text,lo_ngs.Text,lo_gt.Text,lo_dc.Text,lo_email.Text))
                    {
                        if (hs.Capnhat(lo_ten.Text, lo_lop.Text))
                        {
                            hs.ThemTBHK(lo_ten.Text,lo_lop.Text);
                            l.Updatess(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                            l.CapnhatSSTKHK(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                            MessageBox.Show("Thêm thành công", "Thông Báo");
                            UCDanhSachLop_Load(sender, e);
                            gridControl1.Enabled = true;
                        }
                        else
                            MessageBox.Show("Thêm thất bại", "Thông Báo");
                    }
                    else
                    {
                        MessageBox.Show("Toạch", "Thông Báo");
                    }
                }
                else if (kt == "Sua")
                {
                    if (int.Parse(hs.Demlop(lo_lop.Text)) > int.Parse(hs.Laysiso()))
                    {
                        MessageBox.Show("Sĩ số lớp này đã vượt quá mức quy định...", "Thông Báo");
                    }
                    else if (hs.SuaHS(lo_lop.Text, lo_ten.Text))
                    {
                        if (hs.Capnhat(lo_ten.Text, lo_lop.Text))
                        {
                            MessageBox.Show("Sửa thành công", "Thông Báo");
                            l.CapnhatSSTKHK(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                            l.CapnhatSSTKHK(ml, int.Parse(hs.Demlop(ml)));
                            l.Updatess(lo_lop.Text, int.Parse(hs.Demlop(lo_lop.Text)));
                            l.Updatess(ml, int.Parse(hs.Demlop(ml)));
                            hs.capnhatlai(lo_ten.Text,lo_lop.Text);
                            UCDanhSachLop_Load(sender, e);
                            gridControl1.Enabled = true;
                        }
                        else
                            MessageBox.Show("Sửa thất bại", "Thông Báo");
                    }
                    else
                    {
                        MessageBox.Show("Toạch", "Thông Báo");
                    }
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Thông Báo");
            }
           
        }

        private void lo_ngs_EditValueChanged(object sender, EventArgs e)
        {
        }

        private void lo_lop_EditValueChanged(object sender, EventArgs e)
        {
            lblss.Text ="Sĩ số: "+ hs.Demlop(lo_lop.EditValue.ToString());
        }
        string ml="";
        private void gridControl1_Click(object sender, EventArgs e)
        {
            ml = gridView1.GetFocusedRowCellDisplayText("LOP");
            try
            {
                lo_lop.Properties.NullText = gridView1.GetFocusedRowCellDisplayText("LOP");
                lo_gt.Properties.NullText = gridView1.GetFocusedRowCellDisplayText("GIOITINH");
                lo_email.Properties.NullText = gridView1.GetFocusedRowCellDisplayText("EMAIL");
                lo_dc.Properties.NullText = gridView1.GetFocusedRowCellDisplayText("DIACHI");
                lo_ngs.Properties.NullText = gridView1.GetFocusedRowCellDisplayText("NGAYSINH");
                lo_ten.Properties.NullText = gridView1.GetFocusedRowCellValue("HOTENHS").ToString();
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Thông Báo");
            }
        }

        private void lo_ten_EditValueChanged(object sender, EventArgs e)
        {
            lo_ngs.Text = lo_gt.Text = lo_email.Text = lo_dc.Text = lo_lop.Text = "";
            lo_ngs.Properties.DataSource = hs.Layhet(lo_ten.EditValue.ToString());
            lo_ngs.Properties.DisplayMember = "NGAYSINH";
            lo_ngs.Properties.ValueMember = "NGAYSINH";
            //.....................................
            lo_email.Properties.DataSource = hs.Layhet(lo_ten.EditValue.ToString());
            lo_email.Properties.DisplayMember = "EMAIL";
            lo_email.Properties.ValueMember = "EMAIL";
            //.....................................
            lo_dc.Properties.DataSource = hs.Layhet(lo_ten.EditValue.ToString());
            lo_dc.Properties.DisplayMember = "DIACHI";
            lo_dc.Properties.ValueMember = "DIACHI";
            //.....................................
            lo_gt.Properties.DataSource = hs.Layhet(lo_ten.EditValue.ToString());
            lo_gt.Properties.DisplayMember = "GIOITINH";
            lo_gt.Properties.ValueMember = "GIOITINH";
            //.....................................
        }
        void clear()
        {
            lo_dc.Properties.NullText = lo_email.Properties.NullText = lo_gt.Properties.NullText = lo_lop.Properties.NullText = lo_ngs.Properties.NullText = lo_ten.Properties.NullText = "";
        }

        private void btnxem_Click(object sender, EventArgs e)
        {
            frm_Inancs f = new frm_Inancs();
            f.Show();
        }
        void KTDV(string s)
        {
            if (s == "ADMIN" || s == "HIEUTRUONG" || s == "QTV")
            {
                btnluu.Enabled = false;
                btnthem.Enabled = true;
                btnsua.Enabled = true;
                btnxoa.Enabled = true;

            }
            else
            {
                btnthem.Enabled = false;
                btnsua.Enabled = false;
                btnxoa.Enabled = false;
                btnluu.Enabled = false;
            }
        }
    }
}
